import Axios from '@/libs/api.request';
import {getActiveId,getSharePath ,isNull,isIOS} from '@/libs/util';
import {addShare} from '@/api/active';
import Global from '@/libs/global';

const wxApi = {
  wxJssdkInit(url = window.location.href) {
    let num = 0;
    // if (window.location.pathname == '/') {
    //   url = window.location.origin + '/index' + window.location.search;
    // }
    url =url.split('#')[0];
    let has =sessionStorage.getItem('hasConfigInit');
    //这里主要是因为iOS与android情况不同，iOS只需要初始化一次就可以了，安卓每个页面都需要重新初始化
    if(isIOS()&&!isNull(has)&&has=='1'){
      // wxApi.wxShare(null);
      return;
    }
    (function init() {
      let data = {
        url: url,
        apis: JSON.stringify(['openLocation','checkJsApi', 'getLocation',
          'chooseWXPay', 'chooseImage', 'uploadImage', 'getLocalImgData', 'downloadImage',
          'updateAppMessageShareData','updateTimelineShareData', 'onMenuShareAppMessage', 'onMenuShareTimeline', 'hideMenuItems'])
      };
      Axios.request({
        url: 'Wx/getSignature',
        method: 'post',
        data
      }).then((res) => {
        let r = res.data;
        r.data = JSON.parse(r.data);
        //标记已经配置过一次分享了，主要是防止IOS
        sessionStorage.setItem('hasConfigInit','1');
        //微信初始化配置
        window.wx.config({
          debug: false, // 开启调试模式,调用的所有api的返回值会在客户端alert出来，若要查看传入的参数，可以在pc端打开，参数信息会通过log打出，仅在pc端时才会打印。
          appId: r.data.appId, // 必填，公众号的唯一标识
          timestamp: r.data.timestamp, // 必填，生成签名的时间戳
          nonceStr: r.data.nonceStr, // 必填，生成签名的随机串
          signature: r.data.signature, // 必填，签名，见附录1
          jsApiList: r.data.jsApiList
        });
        window.wx.error((res) => {
          sessionStorage.removeItem('hasConfigInit');
          console.error('jsSdk初始化失败！')
          num++;
          if (num > 1) {
//							window.location.reload();
          } else {
            init();
          }
        })
        wxApi.wxShare(null);

      })
    })()
  },
  wxShare(obj) {
    if(obj==null){
      let mainData = Global.getMainData();
      if(mainData!==undefined&&mainData!==null){
        let img = Global.getUrl(mainData.share_img !== null && mainData.share_img.length > 0 ? mainData.share_img[0] : mainData.content.banners[0].img, true)
        let defaultDesc= '我正在参加[activity_title]快来为我加油吧！';
        if(!isNull(mainData.share_desc)){
          defaultDesc = mainData.share_desc;
        }
        defaultDesc=defaultDesc.replace('[activity_title]',mainData.title);
        obj = {
          title: mainData.title,
          link: getSharePath('home', null,'',mainData),
          imgUrl: img,
          desc: defaultDesc
        };
      }
    }
    if(obj==null){
      return;
    }
    setTimeout(function () {
      window.wx.ready(function () {
        //分享给朋友 ||QQ
        window.wx.updateAppMessageShareData({
          title: obj.title, // 分享标题
          desc: obj.desc, // 分享描述
          link: obj.link, // 分享链接，该链接域名或路径必须与当前页面对应的公众号JS安全域名一致
          imgUrl: obj.imgUrl, // 分享图标
        }, function (res) {
          //这里是回调函数
        });
        //分享朋友圈 || QQ空间
        window.wx.updateTimelineShareData({
          title: obj.title, // 分享标题
          link: obj.link, // 分享链接，该链接域名或路径必须与当前页面对应的公众号JS安全域名一致
          imgUrl: obj.imgUrl, // 分享图标
          desc: obj.desc, // 分享描述
        }, function (res) {
          //这里是回调函数
        });
        wx.hideMenuItems({
          menuList: ["menuItem:copyUrl"] // 要隐藏的菜单项，只能隐藏“传播类”和“保护类”按钮
        });
      })
    },1000);
  }
}
export default wxApi
